package day06;

import java.util.Arrays;

public class Emp {
    private int id;
    private String empName;
    private int age;
    private  Emp [] emps;

    public Emp(int id, String empName, int age, Emp[] emps) {
        this.id = id;
        this.empName = empName;
        this.age = age;
        this.emps = emps;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Emp[] getEmps() {
        return emps;
    }

    public void setEmps(Emp[] emps) {
        this.emps = emps;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Emp{");
        sb.append("id=").append(id);
        sb.append(", empName='").append(empName).append('\'');
        sb.append(", age=").append(age);
        sb.append(", emps=").append(emps == null ? "null" : Arrays.asList(emps).toString());
        sb.append('}');
        return sb.toString();
    }

    public Emp() {
    }
    public  void addEmp (Emp e){
        if (null==emps){
            System.out.println("无权限");
            return;
        }
    emps=Arrays.copyOf(emps,emps.length+1);
        emps[emps.length-1]=e;
        System.out.println("有权限");
    }
    public  void delById(int id){
        if (null==emps||emps.length==0){
            System.out.println("删除失败");
            return;
        }
        Emp[]temp =new Emp[emps.length-1];
        int pos=0;
        for (int i = 0; i <emps.length ; i++) {
       if (emps[i].getId()!=id){
           temp[pos++]=emps[i];

       }
        }
        emps=temp;
    }
    public void delByEmpName(String empName){
        if(null == emps || emps.length == 0){
            System.out.println("删除失败!");
            return;
        }
        //先统计empName是否存在...
        //定义一个变量,用来统计empName的个数
        int count = 0;

        for (int i = 0; i < emps.length; i++) {
            if(emps[i].getEmpName().equals(empName)){
                count++;
            }
        }
        if(count == 0){
            System.out.println("sorry,不存在!");
            return;
        }

        //count记录的就是empName出现的个数
        Emp[] temp = new Emp[emps.length - count];

        //定义一个下标计数器
        int pos = 0;

        for (int i = 0; i < emps.length; i++) {
            if(!emps[i].getEmpName().equals(empName)){
                temp[pos++] = emps[i];
            }
        }
        emps = temp;
    }
}
